package controllers;

import java.sql.SQLException;
import java.util.List;

import dao.FachadaDAO;
import dao.UsuarioDAO;
import dao.fachada.FachadaUsuarioDAO;
import models.Usuario;
import play.mvc.Controller;
import play.mvc.With;

public class Usuarios extends Controller{
	
	public static void cadastrarUsuario(){
		render();
	}
	
	public static void inserirUsuario(String _nome,String _login, String _senha,
			String _telefone, String _email, String _endereco){
		
		Usuario usuario = new Usuario();
		FachadaDAO fachada = FachadaDAO.getInstance();
		
		usuario.setNome(_nome);
		usuario.setLogin(_login);
		usuario.setSenha(_senha);
		usuario.setTelefone(_telefone);
		usuario.setEmail(_email);
		usuario.setEndereco(_endereco);
		
		if(fachada.cadastrarUsuario(usuario)){
			listarUsuario();
		}
	}
	
	public static void editarUsuario(String id){
		FachadaUsuarioDAO fachadaUsuarioDAO = FachadaUsuarioDAO.getInstance();
		Usuario usuario = fachadaUsuarioDAO.buscarUsuarioPorId(id);
		
		render(usuario);
	}
	
	public static void atualizarUsuario(String nome, String login, String senha, String endereco, String email, String telefone, String id){
		FachadaUsuarioDAO fachadaUsuarioDAO = FachadaUsuarioDAO.getInstance();
		
		Usuario usuario = new Usuario();
		
		usuario.setEmail(email);
		usuario.setEndereco(endereco);
		usuario.setId(Integer.parseInt(id));
		usuario.setLogin(login);
		usuario.setNome(nome);
		usuario.setSenha(senha);
		usuario.setTelefone(telefone);
		
		try {
			fachadaUsuarioDAO.alterar(usuario);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			System.out.println("ERROR no atualizar usuario");
		}
		
		Usuarios.listarUsuario();
	}
	
	public static void excluirUsuario(String _id){
		FachadaDAO fachada = FachadaDAO.getInstance();
		fachada.excluirUsuario(_id);
		
		listarUsuario();
		
	}

	public static void listarUsuario() {
		FachadaDAO fachada = FachadaDAO.getInstance();
		List<Usuario> listaUsuarios = fachada.listarTodosUsuarios();
		
		render(listaUsuarios);
	}
}
